package com.chenyi.user.service;

import java.util.List;

import com.chenyi.common.core.domain.entity.SysAdmin;
import com.chenyi.common.core.domain.entity.SysUser;
import com.chenyi.common.core.domain.model.LoginUser;

/**
 * 用户信息Service接口
 * 
 * @author wangkh
 * @date 2020-10-10
 */
public interface ISysUserService 
{
    /**
     * 查询用户信息
     * 
     * @param userId 用户信息ID
     * @return 用户信息
     */
    public SysUser selectUserById(Long userId);

    /**
     * 查询用户信息列表
     * 
     * @param sysUser 用户信息
     * @return 用户信息集合
     */
    public List<SysUser> selectUserList(SysUser sysUser);

    /**
     * 新增用户信息
     * 
     * @param sysUser 用户信息
     * @return 结果
     */
    public int insertUser(SysUser sysUser);

    /**
     * 修改用户信息
     * 
     * @param sysUser 用户信息
     * @return 结果
     */
    public int updateUser(SysUser sysUser);

    /**
     * 批量删除用户信息
     * 
     * @param userIds 需要删除的用户信息ID
     * @return 结果
     */
    public int deleteUserByIds(Long[] userIds);

    /**
     * 删除用户信息信息
     * 
     * @param userId 用户信息ID
     * @return 结果
     */
    public int deleteUserById(Long userId);

    /**
     * 查询手机号
     * @param phone 手机号
     * @param userType 用户类型
     * @return 结果
     */
    SysUser selectUserByPhone(String phone, String userType);

    /**
     * 查询Token
     * @param token
     * @return
     */
    SysUser selectUserByToken(String token);

    /**
     * 修改用户状态
     *
     * @param user 用户信息
     * @return 结果
     */
    int updateUserStatus(SysUser user);

    /**
     * 重置用户密码
     *
     * @param user 用户信息
     * @return 结果
     */
    int resetPwd(SysUser user);
}
